package indi.kider.server.appclient.service;

import indi.kider.common.model.bill.Bill;
import indi.kider.common.model.bill.BillPay;
import indi.kider.common.model.bill.BillTotal;
import indi.kider.server.appclient.model.TenantBillRequest;
import pers.vankid.common.model.base.CommonResponse;
import pers.vankid.common.utils.page.PageRequest;
import pers.vankid.common.utils.page.PageResponse;

/**
 * Created by shixj on 2018/5/14.
 */
public interface TenantBillService {
    /**
     * 房客获取相关全部账单
     *
     * @param request
     * @return
     */
    CommonResponse<PageResponse<Bill>> getBillsPage(PageRequest<TenantBillRequest> request);

    /**
     * 房客根据获取相关账单详情
     *
     * @param billId
     * @return
     */
    CommonResponse<Bill> getBillDetail(Long billId);

    /**
     * 房客获取未缴合计
     *
     * @param request
     * @return
     */
    CommonResponse<BillTotal> getBillsTotal(TenantBillRequest request);

    /**
     * 房客缴费更新账单缴费详情
     *
     * @param billPay
     * @return
     */
    CommonResponse<Bill> updatePaystate(BillPay billPay);

    /**
     * 房客删除已缴费账单
     *
     * @param billId
     */
    CommonResponse delBill(Long billId);
}
